package framework.elements;

import org.openqa.selenium.By;

/**
 * Класс, описывающий поле ввода
 */
public class TextBox extends BaseElement {

    public TextBox(final By locator, final String name) {
        super(locator, name);
    }

    protected String getElementType() {
        return "Text Field";
    }

    /**
     * Ввести текст в поле ввода
     * @param value
     *            Текст
     */
    public void type(final String value) {
        waitAndAssertIsPresent();
        info(String.format("Typing '%1$s'", value));
        element.sendKeys(value);
    }

    public void setText(final String value) {
        waitAndAssertIsPresent();
        element.clear();
        type(value);
    }

    public void submit() {
        element.submit();
    }

    public String getValue() {
        waitAndAssertIsPresent();
        return element.getAttribute("value");
    }
}
